export function toFormData(data: any, formData = new FormData(), parentKey = ''): FormData {
  if (data === null || data === undefined) return formData;

  // 如果是一个普通对象，递归处理
  if (typeof data === 'object' && !Array.isArray(data) && !(data instanceof File)) {
    Object.entries(data).forEach(([key, value]) => {
      const newKey = parentKey ? `${parentKey}[${key}]` : key; // 处理嵌套结构
      toFormData(value, formData, newKey);
    });
  } else if (Array.isArray(data)) {
    // 如果是数组，按照 key[] 形式处理
    data.forEach((value, index) => {
      const newKey = `${parentKey}[${index}]`; // 使用数组索引
      toFormData(value, formData, newKey);
    });
  } else {
    // 否则直接添加到 FormData 中
    formData.append(parentKey, data instanceof File ? data : String(data)); // 如果是文件类型直接加，其他都转为字符串
  }

  return formData;
}
